#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int nk(int x, int y)
{
	if (y > 1)
	{
		return x * nk(x, y - 1);
	}
	else
		return x;
}

int main()
{
	int n = 0;
	int k = 0;
	scanf("%d,%d", &n, &k);
	int a = nk(n, k);
	printf("%d", a);
	return 0;
}

//int DigitSum(int i)
//{
//	if (i > 9)
//	{
//		return (i % 10) + DigitSum(i / 10);
//	}
//	else
//		return i;
//}
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int sum = DigitSum(n);
//	printf("%d", sum);
//	return 0;
//}


//char reverse_string(char* string)
//{
//	if (*string != '\0')
//	{
//		reverse_string(string + 1);
//	}
//	printf("%c ",*string);
//}
//
//int main()
//{
//	char arr[] = "abcdef";
//	reverse_string(arr);
//	return 0;
//}

//int my_strlen(char* str)
//{
//	if (*str != '\0')
//		return 1 + my_strlen(str + 1);
//	else
//		return 0;
//	
//}
//
//int main()
//{
//	char arr[] = "abcdef";
//	int len = my_strlen(arr);
//	printf("%d", len);
//	return 0;
//}

//int jie(int j)
//{
//	if (j <= 1)
//	{
//		return 1;
//	}
//	else
//	{
//		return j * jie(j - 1);
//	}
//}
//
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	jie(n);
//	int i = jie(n);
//	printf("%d", i);
//	return 0;
//}

//void print(int n)
//{
//	if (n > 9)
//	{
//		print(n / 10);
//	}
//	printf("%d ", n%10);
//
//}
//int main()
//{
//	int num = 0;
//	scanf("%d", &num);
//	print(num);
//	return 0;
//}
